const page = path => `${BASEDIR}${path}`; // 统一页面路径
const api = path => `${API_PREFIX}${path}`;  // 统一api路径
const noApi = path => `${(API_PREFIX||'').replace('/api', '')}${path}`;  // 不需要api路径

// 页面
export const NOTFOUND = page('/404');
export const FORBIDDEN = page('/403');
export const HOME = page('/');
export const LOGIN = page('/login');
export const REGISTER = page('/register');
export const ABOUT = page('/about');
export const AGREEMENT = page('/agreement');
export const USER_AGREEMENT = page('/UserAgreement');
export const CONTENT_AGREEMENT = page('/content-agreement');
export const RIGHT = page('/right');
export const MESSAGE = page('/message');
export const ACCOUNT = page('/account');
export const SEARCH = page('/search');
export const MERCH = page('/merch');
export const DISCOVERY = page('/discovery');
export const MERCH_DETAIL = page('/merch-detail');
export const MERCH_EDIT = page('/merch-edit');
export const WORK_DETAIL = page('/work-detail');
export const WORK_EDIT = page('/work-edit');
export const ROLE_DETAIL = page('/role-detail');
export const ROLE_EDIT = page('/role-edit');
export const EDIT_HISTORY = page('/edit-history');
export const WEEK_TOP = page('/week-top');
export const CATEGORY = page('/category');


// API 接口
export const VALIDATE = noApi('/app/login/validate'); // 校验用户是否登录
export const TO_LOGIN_PHONE = noApi('/app/login/phone-login'); // 手机验证码登录
export const TO_LOGIN_PWD = noApi('/app/login/email-login'); // 账号密码登录（邮箱登录）
export const QUERY_LOGIN_QRCODE = noApi('/app/login/wxLoginBindQrCode'); // 获取登录二维码
export const QUERY_LOGIN_QRCODE_STATUS = noApi('/app/login/wxQrCodeLogin'); // 轮询二维码状态
export const QUERY_OPENID = noApi('/app/login/getOpenId'); // 根据code获取openId
export const TO_LOGIN_OPENID = noApi('/app/login/wxOpenIdLogin'); // 公众号openId登录
export const TO_LOGOUT = noApi('/app/login/logout'); // 注销登录
export const SEND_SMS = noApi('/sms/send'); // 发送验证码
export const GET_IMAGE_CAPTCHA = api('/app/login/captcha'); // 获取图形验证码
export const BIND_PHONE = noApi('/app/login/bindWxOpenPhone'); // 绑定手机
export const REFRESH_TOKEN_URL = api('/app/refresh_token'); // 刷新token
export const UPLOAD_FILE_OSS = noApi('/file'); // 上传图片
export const GET_FILE_STREAM = noApi('/image'); // 下载图片

export const EMAIL_REGISTER = noApi('/app/login/email-register'); // 邮箱注册

export const UPDATE_AVATAR = api('/personal/changeInfo'); // 更新头像
export const UPDATE_USERNAME = api('/personal/changeInfo'); // 更新名称
export const UPDATE_PHONE = api('/personal/changeMobile'); // 更新手机



// 个人中心
export const PERSONAL_MY_CONTRIBUTIONS = api('/personal/myContributions'); // 获取个人贡献列表（本人查看）
export const PERSONAL_MY_FOLLOWED_USERS = api('/personal/myFollowedUsers'); // 获取关注人列表（本人查看）
export const PERSONAL_MY_INFO = api('/personal/myInfo'); // 获取个人中心信息（本人查看）
export const PERSONAL_MY_HAVE_GOODS = api('/personal/myHaveGoods'); // 获取我的我有谷子列表（本人查看）
export const PERSONAL_MY_WANT_GOODS = api('/personal/myWantGoods'); // 获取我的我要谷子列表（本人查看）
export const PERSONAL_INFO = api('/personal/info/{id}'); // 获取个人中心信息（他人查看，需追加 /{memberId}）
export const PERSONAL_WANT_GOODS = api('/personal/wantGoods'); // 获取我要谷子列表（他人查看）
export const PERSONAL_HAVE_GOODS = api('/personal/haveGoods'); // 获取我有谷子列表（他人查看）

// 作品
export const SERIES_CREATE = api('/series'); // 作品新增（POST）
export const SERIES_UPDATE = api('/series'); // 作品修改（PUT）
export const SERIES_INFO = api('/series/{id}'); // 获取作品详情（需追加 /{id}）
export const SERIES_HISTORY = api('/series/history/{id}'); // 获取作品详情（需追加 /{id}）
export const SERIES_LIST = api('/series/list'); // 获取作品列表

// 角色
export const ROLE_CREATE = api('/charactar'); // 角色新增（POST）
export const ROLE_UPDATE = api('/charactar'); // 角色修改（PUT）
export const ROLE_INFO = api('/charactar/{id}'); // 获取角色详情（需追加 /{id}）
export const ROLE_HISTORY = api('/charactar/history/{id}'); // 获取角色历史版本（GET）
export const ROLE_LIST = api('/charactar/list'); // 获取角色列表

// 谷子
export const GOODS_CREATE = api('/goods'); // 谷子新增（POST）
export const GOODS_UPDATE = api('/goods'); // 谷子修改（PUT）
export const GOODS_INFO = api('/goods/{id}'); // 获取谷子详情（需追加 /{id}）
export const GOODS_LIST_BY_CATEGORY = api('/goods/category/{id}'); // 根据分类ID查询谷子列表（需追加 /{categoryId}）
export const GOODS_HISTORY = api('/goods/history/{id}'); // 获取谷子历史变更列表（需追加 /{id}）
export const GOODS_REPORT = api('/goods/report/{id}'); // 举报谷子（需追加 /{id}）
export const GOODS_HAVE_TOGGLE = api('/goods/interaction/have/{id}'); // 我有/取消我有（POST）
export const GOODS_LIKE_TOGGLE = api('/goods/interaction/like/{id}'); // 点赞/取消点赞（POST）
export const GOODS_WANT_TOGGLE = api('/goods/interaction/want/{id}'); // 我要/取消我要（POST）
export const GOODS_SEARCH = api('/goods/search'); // 搜索谷子（GET）


// 关注
export const FOLLOW_FOLLOW = api('/follow/follow'); // 关注用户（POST）
export const FOLLOW_IS_FOLLOWING = api('/follow/isFollowing'); // 检查是否已关注（GET）
export const FOLLOW_STATS = api('/follow/stats'); // 获取关注统计（GET）
export const FOLLOW_TOGGLE = api('/follow/toggle'); // 切换关注状态（POST）
export const FOLLOW_UNFOLLOW = api('/follow/unfollow'); // 取消关注用户（POST）

// 分类
export const CATEGORY_LIST = api('/category/list'); // 获取分类列表（GET）
export const CATEGORY_STATUS_LIST = api('/category/stats/list'); // 获取分类状态列表（GET）

// 意见反馈
export const FEEDBACK_CREATE = api('/suggestion'); // 新增意见反馈（POST）

// 评论
export const COMMENT_CREATE = api('/comment'); // 新增谷子评论（POST）
export const COMMENT_LIST = api('/comment/{id}'); // 获取谷子评论列表（GET）

// 热门TOP20
export const HOT_RANK_ROLE = noApi('/hot-rank/charactar'); // 获取热门角色TOP20（GET）
export const HOT_RANK_WORK = noApi('/hot-rank/series'); // 获取热门作品TOP20（GET）
